JED The Jam Editor Version 1.1 (C) 1989 by Daniel R. Burris ALL RIGHTS RESERVED. VERSION 1.1 ERRATA The Jam Editor Version 1.1 Enhancements The Menu versus "select mark" Right Menu Button conflict has been resolved If you hold the Right Mouse Button long enough to have a pulldown menu appear, you will not affect the current mark, or set a new one. When asking for the current column and row, you get the actual line number in the file, not the current screen line. Bug was squashed that could leave an undeleteable "filename.Temp" on your diskette, or hard drive. Now if any filename renaming is unsuccessful, you may delete the ".Temp" file normally. When calling up JED V1.1 without a filename, you will get a buffer named "a",instead of "Nameless.Jedfile". This encourages short buffer names, and suggests a simple way of using multiple buffers, I.E. the first one is "a", the second one is "b" ect. Switching between buffers is then greatly simplified. The "Status Bar" has been fixed to truncate long Buffer names, and long File names with an "$". This way you will not have your screen change colors on you if you have a long buffer name with an even longer file name in it. The whole buffer name and file name are still remembered for saving purposes and changing purposes though, so don't worry. The Keyboard overlay is a little more concise. No Big deal. The Help file now includes a list of all the "Right Amiga" Menu to Keyboard equivalents. Jed can now save all of your files with an Icon, if you so desire. Jed can now create text in 3 different colors, to be viewed in batch files, or with a text viewer. There is also a second, smaller version of Jed V1.1 that will uncrunch when it is loaded. The macro functions are easier to use, with simpler Right Amiga key equiv- alents, while still retaining the old Emacs versions that Version 1.0 users have gotten used to. PREFACE IN THE COURSE OF COMPUTER EVENTS, if a user encounters the need to create a batch file, or a startup file, or if a programmer encounters the need to create program source code, said user or programmer will also encounter the need for a *TOOL* to input that text or program source code with. In short, people with computers need text editors. And text editors can have very large lists of commands. You must always muddle though the documentation looking for a command that does what you need, or (ugh!) MEMORIZE the commands your regularly use. Other text editors have very easy to remember (read very *SHORT*) command lists, but are too limited in scope for anything but small files. Yet another class of editor is becoming available on the Amiga, the user configurable version. These offer the very best of both worlds, giving you just the commands that you ask for in your personal version of the Editor. But these tend to be too hard to set up and usually take up way too much memory. From the above opinions (which are entirely my own), I set out to recreate an editor for the average user to use on their Amiga. I say "recreate" because I started with the source code from two Public Domain sources, Memacs on Fred Fish Disk #22, and Pemacs on Amicus Disk #9. These two editors, gave me the source code to start on an editor that had the most commonly used and needed commands, (plus some very nice extras!). I then added and removed pieces of code and debugged, and fixed, fixed up, then refined again, until the whole editor had been recreated as "JED". I have tried to make the user interface to this editor as painless as possible. My goal was to make it immediately usable without documentation. The addition of an "onboard" text help file (press the help key), did a lot toward making this possible. I also put what I thought to be the most useful commands on the pulldown menus, and on the Function keys (the "F" Keys). There is even a keyboard overlay at the end of the Help file that can be marked as a block of text and printed out. Instructions on how to do this are in the help file also. For later use, you can modify this file to suit your personal help needs, displaying only the commands that you have trouble remembering. Or you can put some other instructions there for whatever you are using the editor for. Features Here are just a few of the features that the Jam Editor is capable of: (Here I go, blowing my own horn again!) User selectable Icon creation on all file saves. User selectable auto-indentation. Choose whether or not the cursor should stop at column 1 (on a return), or line up with the last line. User selectable backup file creation. Keep (or not) the old copy of the file that you are editing. Print an entire file, or just a block of text. Help at the touch of a help key, or pulldown menu. You may a "daughter" CLI from the editor, or run just one CLI Command. You can enter the Jam Editor from CLI or Workbench. Both ways can be given a filename to edit upon entry. Has a small macro capability, to ease those repetitive typing tasks. Has very simple cut and paste. Click on the start of the block to be cut with the right "menubutton", then click at the end of the block with the left "select button". Then select Cut, then Paste from the Cut and Paste Pulldown menu. Can use multiple text buffers, even from within a split screen. Highlighted status bar, holding information on the current file and buffer names, and whether the current file has been altered or not. User message passing is below the Status bar, in the tradition of most Emacs Editors (In fact, many of the commands are Emacs compatible). Paging Down can be done by clicking on the word FILE: in the Status bar. Or anywhere below and right of it. Paging Up can be done by clicking the word BUFFER: in the Status bar. Or anywhere below and left of it. The Screen can be pulled down to see previous compiler errors on the CLI Screen. The COLOR of the text yor create with Jed is USER SELECTABLE! There are too many more goodies to list here, so I will close with the size of JED, the Jam Editor: 53997 bytes, Help File and all! That's less than MicroEmacs alone! (The Small version is only 32701 bytes!) In Prospective you can replace Ed and Edit in you WorkBench disk/C directory and only gain a total of 16,269 bytes of usage. Can you find 15K of unused baggage in your C: or Devs/Printers: directories? (Using the small version can actually SAVE you 5,027 bytes!) In Appreciation A Special thanks to my Wife, for being patient while I hacked away at the code to the Jam Editor. And thank you to my children, for doing without their daddy long enough to do this. And thanks to Ed Tromble, for his unique usage of the slang term "Jammin'!" - which inspired the naming of this editor. Also thanks to Andy Poggio and Rich Werth for their version of Memacs on Fred Fish Disk #22, and Andy Poggio for his version of Emacs on Amicus Disk #9. And of course to Fred Fish, for all the great source code on his disks that I was able to draw upon. And for publishing Jed V1.0! (And Hopefully Jed V1.1!) DISCLAIMER THERE IS NO IMPLIED WARRANTY OR RESPONSIBILITY ON THE AUTHOR'S PART, FOR ANY USE, MISUSE, ABUSE, OR LACK OF USE OF JED THE JAM EDITOR. YOU USE IT SOLELY AT YOUR OWN RISK. EVERY EFFORT HAS BEEN MADE BY THE AUTHOR TO MAKE THIS SOFTWARE AS STABLE AS POSSIBLE, BUT RESPONSIBILITY WILL STILL LIE WITH THE USER FOR ANY TROUBLE ENCOUNTERED WITH IT'S USE. There's a new Smaller Version of Jed! I have released two versions of Jed V1.1 distributed together. The Larger of the two is the normal version, and weighs in at 45,268 bytes, without the file called "Jed.Help". It is the "uncompressed" version of Jed V1.1, but takes up "alot" of disk space, and of course, "gronks" longer to load off of a floppy diskette. The smaller version of Jed V1.1 is the "compressed" version, and is only 23972 bytes, without "Jed.Help". I used a friend's compression program to create this version, and it has all the same features as the larger version, and has been tested quite a bit, and works exactly the same! Why would you want to use the larger version then, you ask? Well, the smaller version, when loading, will "uncompress" itself to over 70,000 BYTES, then drop down to the same size as the larger version when it is in memory. This may cause a problem with 256k Amiga 1000 users, or with 512k users who are editing very large files, or anyone who has a lot of stuff in memory already. The difference in a nutshell is that you must plan for about 25k more memory when loading smaller version. If you load the smaller version, then load your file into it, there is no difference at all. But if you try "Jed filename" you must think the 25,000 bytes of memory that it takes to expand the small version. But if you have enough memory, and 25k is no problem, you should have no problem using the small version, and use less disk space, and less gronking! You should use the "Large" version where memory is too tight to fit Jed, the file, and 25k "uncompressing space". TABLE OF CONTENTS Preface.................................................................1 Features................................................................2 In Appreciation.........................................................3 Disclaimer..............................................................3 About the Small Version of Jed..........................................3 CHAPTER 1 - Preliminaries...............................................7 JED Mouse Usage.......................................................7 Mouse Cut and Paste...................................................7 Looking Behind the JED Screen.........................................8 Loading JED from the CLI..............................................8 Loading JED from Workbench............................................8 Changed File Notification.............................................9 Chapter 2 - The Project Menu...........................................10 Going to Other Buffers...............................................10 Kill a Buffer........................................................11 Rename a Buffer......................................................11 Saving a File........................................................11 Loading a File.......................................................12 Save File As.........................................................12 Making a Hard Copy of a File.........................................12 Printing a Block of Text.............................................12 Quit & Save..........................................................12 Quit.................................................................13 Whodunit?............................................................13 Chapter 3 - The Cut & Paste Menu.......................................14 Cutting Text.........................................................14 Pasteing Text........................................................14 Copying Text to the KillBuffer.......................................14 Saving the KillBuffer................................................14 Chapter 4 - The Command Menu...........................................16 Searching Forward....................................................16 Search and Replace - with Query......................................16 Starting a Macro Definition..........................................17 Ending a Macro Definition............................................17 Using a Macro........................................................17 Entering a New CLI in JED............................................17 Running One CLI command in JED.......................................18 Chapter 5 - The Options Menu...........................................19 Getting Help in JED..................................................19 Splitting the Window into Two Windows................................19 Going back to One Window.............................................20 Turning Auto-Indent On and Off.......................................20 Turning Word Wrap On and Off.........................................20 Creating Icons for Your Text.........................................21 TABLE OF CONTENTS (CONTINUED) Setting the Left Margin..............................................21 Setting the Right Margin.............................................22 Turning the Backup Option On and Off.................................22 Text Color Selection.................................................22 Chapter 6 - The Get Around Menu........................................24 Going to the Beginning of Your File..................................24 Going to the End of the File.........................................24 Going to a Specific Line.............................................24 Going Down One Page..................................................24 Going Up One Page....................................................24 Menu Conclusion........................................................25 Chapter 7 - The Function Keys..........................................26 Chapter 8 - The Keyboard Commands......................................27 Registering your Copy of The Jam Editor................................30 CHAPTER ONE Preliminaries First I should cover some things about the use of the mouse, then I will go on to the Pull down menus, in order, then the Function keys, then the keyboard activated commands. JED Mouse Usage (On Version 1.1) The mouse can make the using The Jam Editor (JED) much faster and simpler to use than just keyboard commands. But it is still be up to you to decide how often to remove your hands from the keyboard to access the mouse's power. First of all, the Right Mouse button has been fixed with Jed V1.1. It will take a single "Click" to set the Mark, as before. But, if you pull down the menus, and don't select anything, you may now just let go of the mouse button, and Jed will determine that the menus have been pulled down, and not set the mark! For instance, let's suppose you wish to use an item on a pulldown menu, and then change your mind. You might pull the mouse pointer down into the text, below the last item on the menu, and then just release the mouse button. Beginning with Version 1.1, Jed will do nothing! If you had a mark set prior to pulling down the menu, it will still be set in the same place. This means you don't have to pull the mouse up to the Title Bar before releasing the right mousebutton! Now the only inconvience in using the mouse to cut and paste, is that you have to move your hand from the keyboard to the mouse! This little inconvenience is well worth it when you begin to do a lot of cuts and pastes. MOUSE CUT AND PASTE To cut and paste with the mouse do the following: 1. Find the beginning of the text to be cut. Remember that clicking the Left Mouse on the word "FILE:" in the Status Bar will page down thru the text, and clicking on "BUFFER:" will page up. 2. Click the RIGHT Mouse button at the beginning of the block of text to be cut.This will move the cursor to the point where the mouse pointer is and Mark a new start of Block. 3. Click the LEFT Mouse button at the end of the block of text to be cut. This will move the cursor to that point. (Again, you may page up or down to get to this spot.) 4. Then select "Cut" from the "Cut and Paste" menu. The block of text that you had selected has been cut out of your text and placed in the killbuffer. 5. You may now paste it any place that you like. By a click of the Left Mouse, place the cursor where you would like to put the block of text, and select "Paste" from the "Cut and Paste" menu. Your text is back in the new location. You could have easily changed to another file in another buffer, and pasted it there, or printed it to the printer, or saved it as a file. These options will be explained further during the Pull Down Menu descriptions and various places. Looking Behind the Screen You can look "behind" JED, by simply pressing and holding the Left Select Button in the Title Bar, then dragging the whole Screen downward with the mouse. You can of course drag it back up again! This is a very handy feature if you want to see what line compiler errors were reported on in the CLI window, or if you want to access WorkBench. Loading JED from CLI You may enter JED from the Command Line Interface (CLI) in the traditional Emacs format: 1> JED [Filename] [Return] or: 1> JED [Return] The first example will bring up JED and the help file, with the File specified in [Filename] in the current buffer. If the path/filename that you requested could be found, the buffer will be empty, and will show the Filename that you requested. But if you type in some text and Save the File, (the F1 - Function Key, or from the Project Menu or [Control+X] + [Control+S]) it will be saved to the path/filename you requested. This is a very good way to create new text files. The second example will also load JED and the help file, but will present you with an empty buffer named "a". You may then load a file (F2 or from the Project Menu, or [Control + X] + [Control + V]), which will prompt you (below the Status Bar again - called the message area) for a filename, load it in, and rename the buffer. It will then remember where to save it. * Note * - If at any time, JED forgets where to save your file, Select "Save as" from the Project Menu, and enter a path/filename in the message area. Loading JED from WorkBench When Loading JED from Workbench, you can just double click on the JED Icon. This will be the same as the second example in Loading JED from CLI above. You can Also load JED from Workbench with a filename! The file must have a project Icon by same name as the text file, (IE. Word Perfect files, or Fred Fish Disk "doc" files-that look like books). You can then click once on the Project Icon for the text file to edit, hold down the shift key, and then double click on the JED Icon. JED and the help file will then be loaded, and the file you selected with Project Icon will come up as the current Buffer! With Jed Version 1.1, if you save a file with an Icon (from the Options menu - select Icon Creation) you can double click on that project icon (Jed's) and Jed and the Help file will be loaded, and so will the text file! (See Icon Creation for more info). Changed File Notification When you first change a file in Jed, the screen will flash. You didn't do anything wrong! Just look down at the Status bar, and you will see that is has changed from "[ORG]" to "[CHG]". All this is just to alert you that you have changed the current file and that you should save it before quiting Jed. CHAPTER TWO The Project Menu The Project Menu is a standard Amiga Pulldown menu. It is The Leftmost Menu on the screen, and has the most important functions for file and "Buffer" handling (A buffer is a window in JED that contains a File to be edited, or the Help File). The Title of each section will be exactly as it appears in the Project Menu. What follows is a breakdown of each of the Project Menu commands, and some uses and tricks with each. "Other Buffer SFT/F7" Above is what you will find if you use the right menubutton and go to the rightmost menu in JED. It will be the top item that you can select. I have found that switching buffers (going back and forth between files) is quite a regular occurance when cutting and pasting source code from one file to another. So I have decided to put it first on this menu. Strictly for quick access. In case you are wondering, the SFT/F7 in the selection name is just the key equivalent to using the menu. They are included in all the menu choices in JED. You could also use the standard Emacs command, Cx/b. This means to hold down the key marked CTRL on the keyboard, then strike the x character, then lift off of keys and hit the b key. More on keyboard commands in Chapter 8. When you select "Other buffers", you will be asked for a new buffer name in the message area. The buffer name in between the [] symbols is the previous buffer that JED was in. If you have just loaded your file, and ask for Other Buffer, this should be Jed.Help - the help file. The reason for this is that JED loaded it first, then switched to a new buffer, and then loaded your file. If you just hit return, you will be face to face with the Help file (The same as if you hit the HELP key). If you select Other Buffer at this point, you will be prompted again, only the buffer name in between the []'s will be your file name. You see, JED remembers what the last buffer you were in was. If you hit return, you will be back in your file, in the same place you left it. This "last file remembrance" is very nice when switching between two files a lot. Just select Other Buffer, hit return, and you have switched to the other buffer in the same point you were last in it. What if I don't want to go to the last buffer that JED was in, you ask? Just type in buffer name that you want at the prompt in the message area. Caution: The buffer names are case sensitive. If you type a buffer name of "code.c", when you really wanted "Code.c", you will create a buffer named "code.c", and switch to it. If this happens, just select Other Buffer again, and type the correct Buffer name. As you can see, it is easy to create a new buffer with Other Buffers, to load a new file into. But what about the unwanted Buffer named "code.c" that we just created? This brings us to the second item on the Project Menu... "Kill Buffer SFT/F8" If you select this menu Item, you will be prompted with "Kill Which Buffer: " in the message area. You simply type the name of the buffer to kill and hit return. The buffer will then be emptied out, and deleted from the list of buffers that JED is using. Even the Memory that was given to this buffer is freed up. Gone. Bit the Bullet. To the Bit Bucket. Obviously, this command should be used with care. If you call this command by accident, just click the left select button in the window above the status line, and the screen will flash (meaning you gave an invalid command), and return you safely to editing the buffer you are in. * Note - It is a good habit to get into, when deleting buffers, to first hit the Shift/F6 key, to examine the active buffers that JED currently has, then select Kill Buffer, type in the buffer name exactly as listed, and hit return. You will get a status back from JED telling you that the unwanted buffer has been deleted. Then just hit Shift/F4 and you will be back to one window, with your current file ready for more editing. More on these Function keys and their usage in Chapter 7. "Rename Buffer Cx/Cf" This command (3rd in the Project Menu), will just prompt you for a new buffer name (for the current buffer). You just type one in, and hit return. By the way, you are allowed to backspace if you make a typo in the message area. This command is here mainly to change the buffer name to the same name as the file that it now contains, or to a shorter buffer name. For instance, if you use other buffer to go to a brand new buffer named "b", and then load your file named "Code.c", you may want to rename you the buffer "b" to "Code.c" to match your filename. Or if you have a buffer (for whatever strange reason) named "adsflkajdfpoewtrpoas", you may want to rename it to something shorter and easier to remember. "Save F1" This 4th command in the Project Menu, is just what it implies. It saves the file in the current buffer, to the current buffer's filename. All pathname information should, under normal circumstances be automatic. If you get a message back stating that JED couldn't remember where to put the file, use "Save File As Cx/Cw" (explained later in this chapter), and type in the correct path/filename to save it to. But this shouldn't usually happen. Since this menu choice is also tied to the F1 key, you can update your file on disk regularly by simply hitting F1, and waiting for your disk to quit "gronking". "Load F2" This (still on the Project Menu) is simply for loading a file into the current buffer, but there a few things to be aware of. If your current buffer has your only copy of your Pulitzer Prize winning novel in it, you might want to save it first, or use "Other Buffer" first, and create a new buffer to load the new file into. If you do try to load a different file into a buffer that has been changed (from the original on disk), JED will ask you if that is what you really want to do, and wait for a Y or N for a yes or no, and of course, the ever popular [RETURN]. "Save File As Cx/Cw" When this item is selected from the Project Menu, you will be prompted for a "Path/Filename:" in the message area. You should be careful to type the full path to the place that you actually want to put the file in current buffer. JED is just a slave. He will follow your "Save As" command to the letter... The "Cx/Cw" part of the Menu Item name stands for the keyboard sequence of: Hold down the CTRL key, then hit the x key, lift off both keys, then hold down the CTRL key again, and hit the w key. This isn't as bad as it sounds, and to all you Emacs junkies out there, it is compatible. "File Hard Copy [RIGHT AMIGA] H" This seventh Project Menu choice will print the file in current buffer. It doesn't have any Emacs compatible key commands, as I added it. If you start to print a file that you didn't want to, you can just shut off the printer (primitive I know..) and wait for a "Printer trouble" requester, then select Cancel. At least you can get out of it! "Print Block [RIGHT AMIGA] P" Command Number 8 on the Project Menu can be used to print the currently marked block in current buffer. If you use the "Mouse Cut and Paste" instructions on page 6, and when you get to step number 4, instead of selecting "Cut" from the "Cut and Paste" menu, you select this command, the block that you have selected will be printed to your printer. This can be very handy for closely scrutinizing a buggy function in your source code, without the loss of time and paper it takes to print a whole file. "Quit & Save F10" This command will automatically save your text to the file that it came from, or if you loaded a non-existent file with a correct path/filename (IE: JED df0:c/test), it will save the newly created file to it's new path/filename. Then the JED will self exit. This is the recommended way to exit. If the file in the current buffer is current on the disk, as after a save command and no changes (the Status Bar shows [ORG]) JED will just self exit. This saves time and chances of disk errors from redundant saves. If you prefer to save and exit manually to have more control (not really any safer), use the save command above and the next command. This command can also be invoked with the CTRL key plus the z key. "Quit SHT/F10" This Project menu item just exits the program. If any buffer you have active in JED has [CHG] in the Status Bar, and you select Quit, you will be prompted with "Modified buffers exist exit Y/N?". At this point you can select N and go through and save all changed files, and quit again. You can find out about which buffers are changed with Shift/F6. This command will display JED's active buffer list, or the buffers that you have asked JED to make if you will. It will also contain information as to which buffers are changed. Then hit Shift/f4 and you will be back to one window. Use "Other Buffer" to go to the changed buffers, then do a Save (F1) as described above, and then exit. Now you will find, if you have saved everything, and all buffers are current, JED will exit without a complaint. "WhoDunit? [RIGHT AMIGA] W" This the last item (and least used) of the Project Menu is a plug for the Jam Editor V1.1, and a few bucks for my efforts. If you feel guilty enough to send something, but don't feel it is worth all of seven dollars, send what you think it is worth. I probably will still register you anyway, if your offer is within reason. Thanks for your support. CHAPTER THREE The Cut & Paste Menu This pulldown menu, which is just to the right of the Project menu, is strictly for use with Blocks of text. "Cut F8" The first choice on the Cut & Paste menu is Cut. I put it first for quickest access in using only the mouse to cut a block of text (See step #4 of "MOUSE CUT AND PASTE" on page 7). It simply cuts a block of text (that you have marked) out of the current buffer and puts it in the "Killbuffer". The Killbuffer is a non-visible buffer that saves any text that you remove until you restore it or cut out more text. IF YOU CUT OUT MORE TEXT, THE LAST TEXT THAT YOU HAD IN THE KILLBUFFER WILL BE LOST. Generally, you will want to use the mouse for this function. But if you don't like to lift your hands off the keyboard, you can use the F8 key as shown in the name of the Menu Item. Or you can use the old Emacs standby, the CTRL key, and the W key. "Paste F9/F9" This second choice on the Cut & Paste menu is for restoring the killbuffer to your text at the place where the cursor is. This can be in a different place in the file, several places in the file (you can paste the same text as many times as you like), or a different file completely. The Keyboard way of invoking Paste is F9 + F9, or the Emacs equivilent of CTRL + Y (for Yank). "Copy to KillBuffer [RIGHT AMIGA] C" This command is the same as a Cut operation (above), except that it does not remove the chosen block of text from you file. It just COPIES the block of text to the killbuffer. This is the one that I use when copying text from one file to another. I use it because my original, debugged file remains unchanged when moving a *COPY* of the text to the new file. I only use Cut for rearranging text in a file. You can access this command from the keyboard by holding down the Right Amiga key, and then pressing the c key. "Save KillBuffer [RIGHT AMIGA] S" This command will save the killbuffer to a file. JED will prompt you for a Path/Filename to save the Killbuffer to, then save it there. This command is handy for cutting out things ahead of time, and saving them until your friend gets back with the disk you are working on. Note: You should use the Project Menu's Print Block function to print blocks of text, but if you find you already have something in the Killbuffer (say from a Cut command) and want to print it, you can "Save KillBuffer" to PRT: if you like, and it should work just fine. If you have the Icon Creation feature of Jed V1.1 turned on before using this option, your Killbuffer will be saved with a Project Icon. This is very handy for making small batch files that run from an Icon, from a larger Icon. CHAPTER FOUR The Command Menu "Search Forw. SFT/F1" The first item on the Command Pulldown Menu is for searching forward. The search begins at the cursor, and searches toward the end of the text, for a text string that you give to JED in the message passing area. You select this item from the Pulldown menu, or holding down the Shift Key, then pressing the F1 function key, or using the Emacs command CTRL S. This is done by pressing down the CTRL key, then pressing the s key. Whichever of the 3 ways that you call up Search Forward, you will be prompted in the message passing area with "Search for What String? ". You then type in the wanted string, or enough of that string to help JED find it for you. If JED finds your string, the search is stopped. The cursor will be at the end of asked for string. The string that you asked for will be remembered, so if you really wanted the second occurance of the string (from where you started your search), you can just call Search Foward again. The message area will again display "Search for What String?", but with the string that you typed in the last time that you used "Search Forward" in the prompt in the () characters. If this is the string that you want, just press return, and JED will search again toward the end of the text for that string from the cursor. This string is remembered even if you load a new file, and forever until you type in a new search string, or quit JED. This is handy if you have to search over several text files for a particular piece of source code, or paragraph of text that must be changed. "Query/Repl. SFT/F3" This 2nd command of the Command menu is very simular to the Search command above it. It starts at the cursor, and looks toward the end of the text, for an occurance of your string. And it also remembers the last string searched for (in fact it remembers it in the same place as the Search command above so you can switch commands with the typed string intact). But that is where the simularity ends. When you call Query and Replace from the Command menu, or by holding down the Shift key and hitting F3, or by hitting the Alt key, then holding down shift key, then hitting the shifted 5 key (This is called ALT + %), you will be prompted for an "Unwanted String", and then a string to replace the unwanted string with ("New String"). JED will then search from the cursor to the end of the text for an occurance of your requested string. If JED finds an occurance, you will be given the options to: 1. Replace this newly found string with your 2nd given string. 2. Replace ALL strings matching your 2nd given string. 3. Skip this occurance of the searched for string. 4. Hit CTRL + G and escape the Query/Replace function and go back to editing text. "Start Macro [RIGHT AMIGA] + M" The next 3 commands on the Command Pulldown menu go together. They let you create simple macros, and execute them. This first one, Start Macro, of course lets you start the macro. It is invoked from the Pulldown easiest, but can also be invoked by holding down the CTRL key, hitting the x key, releasing both keys, then holding down the SHIFT key, and hitting the ( key (the shifted 9 key). You then type your simple macro (try to avoid RETURNS and CURSOR DOWNS), and Then select the next option, which is "End Macro [RIGHT AMIGA] + E". This will complete the macro definition. You can then invoke the newly defined macro by invoking the next command after the "End Macro [RIGHT AMIGA] + E", which is Use "Macro ALT/E". The key exact sequence that you typed in between Start macro and End Macro will then be inserted into the text at the cursor. BEWARE! When you use Cursor Down keys, you will only record the first one. For more than one, use [RETURN]. And if you use a second macro definition, you should use the Emacs key sequence, "CTRL + x + (" to start the macro, as it clears the old macro out of Macro storage buffer. The pulldown menuitem and the Right Amiga keyboardequivilent WILL NOT CLEAR THIS BUFFER. You will have your new macro, and, if it was shorter than the old macro, and the last few characters of the old macro! "End Macro [RIGHT AMIGA] + E" See Start Macro for usage of this Command menu item. It is called from the menu easiest, or you can Hold down the CTRL Key, then hit the x key, release, then hold down the SHIFT key, and hit the ) (the SHIFTed 0 key). I personally feel the the pulldown is easier. Or you can use the Right Amiga key and the "m" key. "Use Macro ALT/E" See Start Macro for usage of this Command menu item. It is called from the Pulldown, of course, or, you can hold down the ALT key, and press the "e" key. I usually only use macros when I have many identical changes to make to several lines. I don't use them often, so I use the pulldown the first time (to see the key sequence), and then use "ALT/E" for all subsequent times. "New CLI Cc" This Command Menu choice will open up a large Command Line Interface (CLI) from within JED. You can then proceed to compile files, copy files, read text files, and run most programs. I have actually forgotten that I was in JED from time to time! The instructions for exiting JEDCLI can be found at all times in the JEDCLI window Title Bar. (This also reminds some of us that they started this CLI from the Editor...). You can enter a New CLI from the Pulldown, or By holding down the CTRL key and tapping the c key until the window appears. Generally,though, I use the CLI command option described below. "CLI Command ALT/Q" This is simular to the "New CLI Cc" command above, but can be used to quickly run one command (or program, or batch file) from and have the CLI window automatically exit about 1 second after the command is done. This is very handy for compiling a program from a batch file containing the compiling and linking instructions (immediately after a Save - F1, of the current source code in that you just fixed in JED). Or for displaying a directory. Or my favorite, running one of the many Directory Utilities found on the fish disks. If you list a directory this way, You may want to quickly get to the mouse, and hold down the RIGHT menu button, to stop the action, as after about one second, the window will close back up and you will be back in the editor as if you never left it (of course you didn't, as you can see around the edges of the CLI window!) You can use this command from the pulldown as always or by holding the ALT Key, and pressing the "q" key. CHAPTER FIVE THE Options Menu "Help On/Off HELP" This first item on the Options menu (1st for ease of access), is to get the Help menu displayed. You can more easily display it, as the key sequence given in the menu shows, by hitting the HELP key. You will be face to face with the first page of the Help file - Jed.Help. If you select this menu option again (or hit the HELP key), you will be back in the file that you just left, in exactly where you were before you called help (this has been standard in buffer switching in JED, so you don't get lost in a file that you were previously in). If you recall the Help file, you will be back at the beginning of Jed.Help again, where the most commonly need help can be found. You can move around in the Help file the same as any other text file. You can edit it to suit your own needs (although you should save a copy of it to another disk before doing this). If you want to arrive in the HELP file in a different place than the start of the file, you can always enter and exit it with "Other Buffer" from the Project menu, and your place will be remembered as always. While you are still new to JED and it's commands, you should enter the Help file, page down (by using the F6 key) until "Page #8" is displayed in the top right of the text area. There you will see instructions on printing out a simple (new!) keyboard overlay. You can then paste it together and place it over the "F" keys on your keyboard. This should be a great help to good typists, that don't want to use the mouse all the time to see the keyboard equivilents on the Pulldown menus. Another feature of the HELP File, is that all of the Emacs Key Commands that JED has are listed there. Some of these are not on the Pulldown menus, or on the Functions keys. I have configured JED as I would have configured a user configurable editor for my own use. It's all there, but in a MUCH smaller package. "Split Window Cx/2" This 2nd command of the Options menu will give you two editing windows, with two status bars. It is possible to load two different files into the two windows, and cut and paste between them, compare them visually. BUT YOU MUST BE VERY CAREFUL AS TO WHICH WINDOW THE CURSOR IS IN, as the cursor will switch from time to time on paging up and down operations, on End of file, top of file,or other logical (to the program) operations. You can change which is active by the standard Amiga concept of clicking on the window that you want active. I generally don't use this option, but when I do, it can save the day. I generally use the "Other Buffer" option and switch between full screen buffers instead. But I ocasionally use it to compare 2 pieces of "C" code with unusually strange syntax, to see what {, :, or * that I left out. Visual comparisons sometimes can be the only awnser. You can also get to this option with holding down the CTRL key, then hitting the x key, releasing both keys, then hitting the 2 key, as the command suggests. On the pulldowns, all "C"'s mean the CTRL Key, and all ALT mean the Alt command. All F's mean a function key, and are always followed by a number of 1 thru 10. All SFT's stand for SHIFT, and all square boxes with the letter A in them (in inverse video) stand for RIGHT AMIGA. This will be come obvious in time, and some EMACS users will recoginize it immediately. "One Window SFT/F4" This 3rd command on the Options Menu is to restore the display to the currently active window only. It is used generally after the command above it, "Split Window Cx/2". Or it is also used to restore the display to one window after displaying the list of active buffers JED has (See Chapter7 - SHIFT/F6). You can also select this option by holding down the SHIFT key and hitting the F4 key as shown in the menu. Also, you may use the Emacs version, CTRL key, plus the x key, release,then hit the "1" key. "Auto Indent Cx/i" This command is one that I find particularly useful, and is a Default in JED. You can tell if it is active by checking the menu itself, as you will see a Checkmark by it if it is active, and a blank space if it is not. If it is active, upon the user typing a RETURN, or if word wrap takes place (see the next Options menu option), the cursor, will automatically advance to the column of the first character of the above line with text on it. This is extremely useful when you indent your source code (for readibility) as your nesting gets "deeper". or if you want a paragraph in a letter to be indented by a few spaces, just turn on Auto Indent, and Word Wrap, and space the first line of the paragraph the required amount, and type away worry free (well, almost, no spell checker is included). You can also access this by holding down the CTRL key, then hitting the x key, and then releasing both keys, and then hit the "i" key. "Word Wrap Cx/t" This is word wrap in the traditional sense, but with one difference. If you append text on a line and it goes beyond the current setting of your right margin (explained later in this chapter),it will run to the end of the text area and display an "$" at the edge of the screen. You can correct this if you want to by putting the cursor on place that you want to break the text, and hitting a return. You will sometimes get a stationary character in the first column of the next line, and you can get rid of it typing CTRL and "l". This will redisplay the screen, and the unwanted stationary key will disappear. You can turn this menu option on and off (this also has a check mark to let you know if it is on or off), by the main menu, or holding down the CTRL Key, hitting the x key, and releasing both, and hitting the "t" key. The JED default for this option is On. I like to keep my text on screen in front of me! "Icon Creation [RIGHT AMIGA/I]" This is a new Options Menu Item with Jed V1.1. When you select this item, all files saved will have a Project Icon saved with them, just as they would have from NotePad (NotePad comes with Workbench)! THE PROJECT ICONS CAN ONLY BE CREATED WITH JED IF YOU HAVE THE FILE CALLED "icon.library" IN YOUR CURRENT "SYS:LIBS" DIRECTORY. (Note that this is the DEFAULT with a Workbench disk, or any disk that boots up to a Workbench screen, and has Icons on it). Your newly created file can then be brought into Jed (IF JED IS IN THE SAME DIRECTORY) by double clicking on the new icon. If not, click one time on the new icon, to highlight it, then pull down the Workbench Menu from the WorkBench screen and select "info". You will then be in your new Project Icon's Info Screen. Just click once in the "Default Tool" string gadget, and type in the path to you keep Jed. If you use Jed in your SYS: Directory,you could just type "SYS:Jed" and hit return. Then click on the save button. Your Project Icon now knows that your copy of Jed is in the SYS: directory, and double clicking on it will now load your "Sys:Jed" program, and then load the text file attached to the Project Icon into Jed for editing. Also you might try changing the Project Icon's default tool to "SYS:Utilities/ more" to view a file that you created, (if you have Workbench V1.3 "more" will be found on the Workbench disk, in the Utilities directory). If you don't have Version 1.3 of workbench, you can find many versions of "more", or "less" on the Fred Fish Disk Collection. (try the one on Fred Fish Disk #180, in the Jed directory for instance!) You can EXECUTE a batch file that you typed in Jed and saved with an Icon, by changing it's "Default tool" to "SYS:C/Iconx"(if you have Workbench Version 1.3). If you don't have Workbench V1.3 and can't free up $29.95 for it right now, you can find a great substitute for the Iconx program on Fred Fish Disk #102. Thanks again to Mr. Fred Fish for his invaluable contributions to the Amiga. Using combinations of the above Default Tool suggestions with a hard drive, can allow you to work on source code, compile, & link, all from workbench! You may also toggle Icon creation on and off by using the keyboard. Simply hold the "Right Amiga" key down, and then press "i" (for Icon). "Left Margin RIGHT AMIGA/L" This sets the margin of blank space on the left side of your screen, that is skipped when the text wraps around while typing. When it is selected, you will be prompted with Left Margin: 4 . If you just hit return, you will get the default. Or you can type in your own preference, and it will be changed on the next word wrap. You don't have to delete the "4" after "Left Margin:", you just type over it. You can also set this by holding down the Right Amiga key, and pressing the "l" key. "Right Margin RIGHT AMIGA/R" This sets the margin of blank space on the right side of your screen, that will be skipped when word wrap takes place to a new line. You can select it by the menu of course, or by holding down the Right Amiga key and pressing the "r" key. You will be Prompted with "Right Margin:75" and as above with the Left Margin, you don't have to delete the 75, you just type right over it. "Make Backups RIGHT AMIGA B" This option on the Option Menu is for setting whether or not a backup file is created or not. There is a checkmark to tell you if the backup option is on, and none if it is off. The JED default is OFF. If you turn it on, you will be told that a backup file will be made in the message area, and a checkmark will appear in the menu to the left of the menu name. When this option is on, upon saving the new file, the original file will be renamed to your filename, plus the extention of ".backup". Then your new copy of the file will be saved. This way, if you want to try some new large change to some text file, and don't know if the changes will work (as in the case of source code), you set the Backup Option to on, and make your changes and save as usual. If the change didn't work, you can delete your new file, and rename the one with the ".backup" extention to the same name - without the ".backup", and you will be back to where you started. This is a nice feature if you are unsure of your changes, but can be a bother at times. What I ended up with were a lot of files with .backup on them every I changed my startup-sequence! This is the reason that this option is set to off as a Default. You can access the toggling of this command by holding the right Amiga key down, and hitting the b key. I usually use the Menu to benefit from the status of the checkmark. "Use TextColor2 [RIGHT AMIGA/2]" "Use TextColor3 [RIGHT AMIGA/3]" "Normal Text [RIGHT AMIGA N]" These last 3 items on the Options Menu are also new for Version 1.1 of Jed. I grouped them together because they interact with each other. You may only select ONE of the above three menu items at a time. Jed's default is "Normal Text". This is the mode you use most (99%) of the time. But if you are making a text file to be viewed with a text viewer (like "more"), or if you want to print things to the CLI screen from a batch file (like in a startup sequence), you may choose one of the other TextColors above to create text with. For instance, if you use the "TextColor2 [RIGHT AMIGA/2]", you will begin to create text that will be SEEN in TextColor 2 when you use the "Type" command from CLI. This color will be seen as Black from an unaltered Workbench 1.3 environment. Of course if you go to Preferences, and change your default settings for Textcolor 2 from Black to Green for ,when your file is "typed" to a CLI screen, any text created in TextColor 2 will be Green! The option called "Use TextColor3 [RIGHT AMIGA/3]" works the same except you will then create text in TextColor 3, which is ORANGE in an unaltered Workbench 1.3 environment. Upon choosing one of the 2 textcolors, you will see "^[[3Xm" inserted into your text. These are Screen Control codes that DO NOT TAKE UP SCREEN SPACE WHEN PRINTING. So formatting your text will be a little strange until you get used to using these options. Try making a small file, then save it to RAM:, then use "CLI Command ALT/Q" from the Commands Menu, and type the following: "type ram:yourfile" [RETURN]. The "X" in "^[[3Xm" above stands for the Text Color. You will see "^[[32m" for TextColor 2, and "^[[33m" for TextColor 3. When you reselect the "NormalText [RIGHT AMIGA/I]" Option, you will see "^[[m" inserted into your text. By knowing this you can tell which TextColor you are in. The Options Menu also KEEPS TRACK of which TextColor you are using by putting a Checkmark next to the CURRENT TEXTCOLOR ONLY. You can check this by simply pulling down the Options menu, check which color has a Checkmark by it, and then pulling the pointer down into the text and releasing the mouse button. As of Version 1.1 of Jed, this will no longer "Set the mark." CHAPTER 6 The Get Around Menu This menu is strictly for getting around in your text files. "Top of File F3" This first item on the Get Around menu will take you to the very beginning of the text file, and place your cursor on the first character. It can be also invoked with the F3 key, which is much easier, especially if you use the keyboard overlay. This is handy if you want to check for include files, variable declarations, and the like. For non-programmers, you can check the name of person to whom you are writing the letter to, so as to spell it correctly. "End of File F4" This is the logical 2nd choice after using the Top of file above. This will take you to the end of the text file, or probably where you were at when you decided to check the top of the file. It can be invoked from the menu, or from the F4 function key. "Goto Line F5" This 3rd choice on the Get Around Menu is for going to a specific line in the text (or source code). This is especially useful for programmers, as it corrects for the Manx and Lattice Compiler's, and the Metacomco Macro Assembler's error reporting. All three seem to catch errors 1 line too late and therefore report the wrong line by 1 line (IE - Line 98 really has an error in coding on line 97). I just subtracted one from the line routine. If you use the Compiler's or Assembler's error complaint number, you will end up on the correct line. You can access this command from the menu, of by the F5 function key. "Page Down F6" This will move the cursor down by 22 lines of text, or just a little less than one screen full of text. This is much easier than cursoring up 22 times but is not a true full 66 line page of text. You can access Page down by 4 ways! First from the menu, 2nd, from the F6 key, 3rd, from the Emacs standard of holding the CTRL key down and then pressing the v key, or 4th, by clicking the Left Select mousebutton on or below and to the right of the word FILE: in the Status Bar. "Page Up F7" This Last command on the Get Around menu (and also the last on JED's menus), will move the cursor up by 22 lines of text. Again, as above, this is not a full printed page of text, but a screen page. It can be accessed by the menu, or by the F7 function key, or by the Emacs way of holding down the ALT key, and pressing the v key, or by clicking the Left Select button on or below and left of the word "BUFFER:" in the Status Bar. MENU CONCLUSION This concludes the menus currently available on The Jam Editor V1.1. There are several tricks and shortcuts, that have been left out of the discriptions, all for the sake of brevity. And there are many options that have been left off the PullDown Menus, also for the sake of brevity, and in the case of pulldowns, for the sake of clarity and an easy learning curve. Please experiment with the editor on a copy of text at first, or with the Backup Option on (from the Options menu). You will find, as time goes on, that JED is very simple to use and quite effective. At least that was my goal. I am always open to new suggestions, and ideas that you might have for improving The Jam Editor, and appreciate your comments. CHAPTER 7 The Function Keys Most of the Function keys listed below can be found in various sections of the PullDown menu descriptions. Those that can are listed with a reference page number to where a description of their use can be found. Those that can't will have a page number listed. This is where thier brief Emacs Command key description can be found. These commands are generally self explanatory when you use them. The exception is the Repeat command, (Shift/F9). It asks for a repeat amount, then repeats the next character typed that many times. All of the function keys are the first thing shown when you enter the Help file in JED (with the HELP key), so you will rarely have use for this section. Key Command Reference Keys Command Reference --- ------- --------- ---- ------- --------- F1 = Save Page 11 Shift/F1 = Search Forward Page 16 F2 = Load Page 11 Shift/F2 = Search Backward Page 27 F3 = Top of file Page 24 Shift/F3 = Query/Replace Page 16 F4 = End of file Page 24 Shift/F4 = One Window Page 20 F5 = Goto Line Page 24 Shift/F5 = Show Line & Column Page 27 F6 = Page Down Page 24 Shift/F6 = List Buffers Page 28 F7 = Page Up Page 24 Shift/F7 = Other Buffer Page 11 F8 = Cut Block Page 14 Shift/F8 = Kill Buffer Page 11 F9 + F9 = Paste Block Page 14 Shift/F9 = Repeat Page 27 F10 = Quit & Save Page 12 Shift/F10 = Quit Page 13 CHAPTER 8 The KeyBoard Commands The following commands are generally Emacs compatible. Some are duplicate commands for those of you that are used to using Emacs, or MicroEmacs. They are divided into sections by keys needed to cause them to be invoked. THE CTRL KEY + OTHER KEY COMMANDS --------------------------------- COMMAND = DESCRIPTION ------- ----------- = Set Mark at current position. = Move cursor to beginning of line. = Move cursor BACK one character. = Enter a new CLI window (in JED). = DELETE current character. = Move cursor to END of line. = Move cursor FORWARD one character. = Abort any command. = (Backspace) delete previous character. = Insert a TAB char or TAB number of spaces = KILL (delete) to end of line. = Redisplay screen.(CLEAN UP if garbage) = End current line and start a new one. = Move cursor to NEXT line. = OPEN a new line. = Move to PREVIOUS line. = QUOTE (insert the next character typed). = REVERSE Search. = Forward SEARCH. = TRANSPOSE character under cursor and Previous character. = Enter repeat count for next command. = VIEW the next screen (scroll up one screen). = Kill region (all text between cursor and last mark set). = YANK (undelete) last text killed (from Killbuffer). = Save file in current buffer and exit. THE CTRL KEY + X KEY + OTHER KEY COMMANDS ----------------------------------------- + ! = Deleted due to Guru problems - was Paragraph fill. + = = Show the current cursor position in the file. + ( = Begin keyboard Macro. + ) = End keyboard Macro. + 1 = Display only current window. + 2 = Split the current window. + B = Prompt for new BUFFER. + E = EXECUTE keyboard Macro. + I = Toggle the Auto Indentation Mode. + K = KILL a Buffer. + N = Move to NEXT Onscreen window. + P = Move to PREVIOUS Onscreen window. + T = Toggle word wrap. + Z = Enlarge current window by repete count lines. THE CTRL KEY + X KEY + CTRL KEY + OTHER KEY COMMANDS ---------------------------------------------------- + = Show active BUFFERS. + = EXIT without saving buffers. + = FIX a new BUFFER NAME. + = Change a region to LOWER case. + = Take OUT blank lines. + = Scroll current window up by repete count lines. + = Scroll Window Up (Repete Count) Lines. + = READ File into Current Buffer. + = SAVE (write) Current Buffer into it's file. + = Change a region to UPPER case. + = VISIT a file and Display in Current Window. + = WRITE buffer to file. + = Swap [Block Mark] & [Cursor Position]. + = Reduce current window by (Repete Count) lines. THE ALT KEY + OTHER KEY COMMANDS -------------------------------- + ! = Move Current Line (Repeat Count) Lines from Top. + % = Query Replace. + . = Set mark at cursor position + > = Move cursor to end of buffer. + < = Move cursor to beginning of buffer. + B = Move cursor BACK one word. + C = CAPITALIZE word. + D = DELETE next word. + E = EXECUTE a Keyboard Macro + = DELETE previous word. + F = Move cursor FORWARD one word. + L = LOWERCASE (lowercase) next word. (ALT> + M = MOVE to a specified Line Number + Q = QUEUE up a one CLI Command and return to JED. + U = Change next word to UPPERCASE. + V = VIEW the previous screen (scroll down one screen). + W = WASTE a block of text from the file (to the KillBuffer). + Y = YANK a Block from KillBuffer to the Cursor Position. + = Delete backward word. JED Right Amiga Shortcut KeyList -------------------------------- RIGHT AMIGA + h = HARDCOPY of the Current Buffer RIGHT AMIGA + p = PRINT the currently marked Block. RIGHT AMIGA + w = WHO created The Jam Editor? RIGHT AMIGA + c = COPY the mark block of text to the Killbuffer. RIGHT AMIGA + s = SAVE the current Killbuffer to a file. RIGHT AMIGA + m = MACRO definition beginning. RIGHT AMIGA + e = END macro definition. RIGHT AMIGA + i = ICONS will be created for all text saved. RIGHT AMIGA + l = LEFT Margin settings. RIGHT AMIGA + r = RIGHT Margin settings. RIGHT AMIGA + b = BACKUP original copys of files saved. RIGHT AMIGA + 2 = 2ND Textcolor is now being used to create text. RIGHT AMIGA + 3 = 3RD Textcolor is now being used to create text. RIGHT AMIGA + n = NORMAL Text is now being created. REGISTERING YOUR COPY OF THE JAM EDITOR --------------------------------------- If you feel JED is useful, and continue to use it after whatever you feel is a REASONABLE tryout period, PLEASE register it using the form below. I will then keep you informed as to updates (if you prefer - see choice on form), which will be major updates only, as such will cost $5.00. Also feel free to fill in the sections on "Comments", "Suggested Additions", and most importantly, "Bugs"!! I used JED to develop itself, and found that my productivity went up as I progressed. Also the number of 'Little red windows at the top of my screen', or 'dancing with Mr. G, or properly, Guru Meditation incidents, went down to (so far) NIL: . But this does not mean by any means that I do not make mistakes, so...... Point 'em out! I will do my best to remove them as fast as time will allow. This is my first shareware attempt. If you like my efforts, and the Jam Editor, Please register for $7.00, (so that I can continue to convince my Wife that this has all been worth it!). If you registered already, and are just updating, send only $5.00. The Address is: Dan Burris P.O. Box 290041 Hartland, Michigan 48029-0041 So here's the Form: Another Jam Editor V1.1 Registration! First Name:___________________ Last Name:___________________ M.I.___ Street:_______________________________________________________________ City:______________________ State:_______________ Zip Code___________ Do you wish to be notified of Updates to JED? YES___ NO___ Is this an Update? YES___ NO___ If so, from what version? _________ Comments:_______________________________________________________________ ________________________________________________________________________ ________________________________________________________________________ ________________________________________________________________________ ________________________________________________________________________ Suggested Additions:____________________________________________________ ________________________________________________________________________ ________________________________________________________________________ ________________________________________________________________________ ________________________________________________________________________ Suspected Bugs:_________________________________________________________ ________________________________________________________________________ ________________________________________________________________________ ________________________________________________________________________ ________________________________________________________________________ ________________________________________________________________________